
//454.四数相加II
class Solution {
public:
    int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
        //枚举右,维护左
        //先将nums1+nums2的所有情况进行统计
        int n=nums1.size();
        unordered_map<int,int> m;
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            m[nums1[i]+nums2[j]]++;
        }

        int ret=0;
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                int need=-nums3[i]-nums4[j];
                if(m.count(need)) ret+=m[need];
            }
        }
        return ret;
    }
};